package com.flower.enjoyment.flower.service;

import com.flower.enjoyment.flower.entity.OrderInfo;
import com.flower.enjoyment.flower.entityDo.OrderInfoDo;
import com.github.pagehelper.Page;

public interface OrderInfoService {

    /**
     * 获取用户常去商铺
     * @param pageNo
     * @param pageSize
     * @param userId
     * @return
     */
    Page<OrderInfoDo> getSuccessOrderListByPage(Integer pageNo, Integer pageSize,String userId);

    /**
     * 商铺收入列表
     * @param pageNo
     * @param pageSize
     * @param shopId
     * @param type
     * @return
     */
    Page<OrderInfoDo> getShopIncomeOrderListByPage(Integer pageNo, Integer pageSize,String shopId,String type);

    /**
     * 保存订单
     * @param orderInfo
     * @return
     */
    int insertOrderInfo(OrderInfo orderInfo);

    /**
     * 根据订单号获取订单信息
     * @param orderNo
     * @return
     */
    OrderInfoDo selectByOrderNo(String orderNo);

    /**
     * 更新订单信息
     * @param orderInfo
     * @return
     */
    int updateOrderInfo(OrderInfo orderInfo);

    /**
     * 根据用户id和商铺id判断该用户是否再此店铺消费过
     * @param userId
     * @param shopId
     * @return
     */
    int selectCountByUserIdShopId(String userId,String shopId);

    /**
     * 今日收入
     * @param userId
     * @return
     */
    double selectSumAmountByToday(String userId);

    /**
     * 全部收入
     * @param userId
     * @return
     */
    double selectSumAmountByAll(String userId);

    /**
     * 将订单置为过期
     * @return
     */
    int updateExpireOrder();
}
